package com.sanchunhui.psc.presenter

import android.util.Log
import com.google.gson.GsonBuilder
import com.sanchunhui.psc.data.net.PSCApiService
import com.sanchunhui.psc.data.protocol.ResponseInfo
import com.sanchunhui.psc.presenter.view.BaseView
import com.sanchunhui.psc.utils.JSONResultType
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory
import retrofit2.converter.gson.GsonConverterFactory

/**
 * @Author zyx
 * @Date 2021/4/26-16:22
 * @Dscribe
 */

open abstract class NetPresenter{

    val pscService : PSCApiService
    init {
        val gson = GsonBuilder()
            .registerTypeAdapter(ResponseInfo::class.java, JSONResultType())
            .create()

        // .baseUrl("http://192.168.0.29:8080/TakeoutService/")
        val retrofit = Retrofit.Builder()
            .baseUrl("https://safety.3chh.cn/")
            .addConverterFactory(GsonConverterFactory.create(gson))
            .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
            .build()
        pscService = retrofit.create<PSCApiService>(PSCApiService::class.java!!)
    }


//    abstract fun parserJson(json: String)

//    val callback = object : Callback<ResponseInfo> {
//        override fun onResponse(call: Call<ResponseInfo>?, response: Response<ResponseInfo>?) {
//            if (response == null) {
//                Log.e("home", "服务器没有成功返回")
//            } else {
//                if (response.isSuccessful()) {
//                    val responseInfo = response.body()
//                    if (responseInfo.code.equals("0")) {
//                        val json = responseInfo.data
//                        parserJson1(json.toString())
//                    } else if (responseInfo.code.equals("-1")) {
//                        //根据具体接口文档表示含义，比如定义-1为空数据
//                        Log.e("psc", "定义-1为空数据")
//                    }
//                } else {
//                    Log.e("psc", "服务器代码错误")
//                }
//            }
//        }
//
//        override fun onFailure(call: Call<ResponseInfo>?, t: Throwable?) {
//            //没有连上服务器
//            Log.e("psc", "没有连上服务器")
//        }
//    }
}